热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基因组浏览器中的Wig格式解析

本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。

Wiggle(简称 Wig)是一种用于绘制基因组上图形轨迹的文件格式,适用于显示密集且连续的数据,如GC含量、概率分数和转录组数据等。Wig 格式包括两种主要类型:variableStep 和 fixedStep。下面我们将详细介绍这两种格式,并探讨其在基因组浏览器中的应用。

一、VariableStep 格式

VariableStep 格式适用于不规则间隔的数据点,特别适合于全基因组数据集。它允许在指定的染色体片段区域内绘制条形图,但区域大小必须恒定(由 span 参数指定)。如果数据点之间的间隔过于极端,此格式在编码和显示时效率较低,建议使用 BedGraph 格式。UCSC 不推荐将 VariableStep 作为基因组浏览器输入文件,因为 BigWig 格式更为高效。

1. 特点及适用场景

  • 用于绘制条形图,适用于全基因组数据集。
  • 数据点间具有不规则间隔,但在某些情况下需要谨慎使用。
  • 如果数据点间距过大,建议使用 BedGraph 格式。
  • UCSC 推荐使用 BigWig 文件以提高效率。

2. 格式说明

声明行以单词 variableStep 开头,后跟染色体规范。数据行包含两列,分别是染色体位置和数据值。

variableStep chrom=chrN [span=windowSize]
chromStartA dataValueA
chromStartB dataValueB
...

3. 示例

以下示例表示在2号染色体上的300701-300705位置均显示12.5:

variableStep chrom=chr2
300701 12.5
300702 12.5
300703 12.5
300704 12.5
300705 12.5

可选的 span 参数(默认为1)允许更简洁地指定连续相同数据值的碱基范围。例如,应用 span=5 后:

variableStep chrom=chr2 span=5
300701 12.5

当每1,024个碱基只有几个数据点时,VariableStep 格式会变得效率极低。若数据点相距超过约100个碱基,则建议使用 BedGraph 格式。

二、FixedStep 格式

FixedStep 格式适用于有规律间隔的数据点,特别适合全基因组数据集。它在指定的染色体片段区域内绘制条形图,要求区域大小恒定(由 span 参数指定),且染色体位置精确地按固定步长(由 step 参数指定)排列。

1. 特点及适用场景

  • 适用于绘制条形图,特别适合全基因组数据集。
  • 染色体位置按固定步长间隔排列。

2. 格式说明

声明行以单词 fixedStep 开头,包含染色体、起始坐标和步长规范。数据行仅包含一列数据值。

fixedStep chrom=chrN start=position step=stepInterval [span=windowSize]
dataValue1
dataValue2
...

3. 示例

以下示例表示3号染色体上的三个区域(每个区域5个碱基):400601-400605、400701-400705 和 400801-400805,分别显示值11、22和33:

fixedStep chrom=chr3 start=400601 step=100 span=5
11
22
33

对于 VariableStep 和 FixedStep 格式,必须在整个数据集中使用相同的跨度和步长。未指定时,默认跨度为1,步长也为1。

三、数据值

Wiggle 格式的数据值可以是整数、实数、正值或负值,但不支持 NaN 值。未指定的位置不会显示数据。

需要注意的是,wiggle 文件的染色体坐标从1开始,而对于 bigwig 文件则从0开始。

四、自定义 wiggle 轨迹的参数

可以通过设置多个参数来自定义 wiggle 轨迹的显示效果。以下是常用的参数及其默认值:

track type=wiggle_0 name=track_label description=center_label visibility=display_mode color=r,g,b altColor=r,g,b priority=priority autoScale=on|off alwaysZero=on|off gridDefault=on|off maxHeightPixels=max:default:min graphType=bar|points viewLimits=lower:upper yLineMark=real-value yLineOnOff=on|off windowingFunction=mean+whiskers|maximum|mean|minimum smoothingWindow=off|2-16

其他参数:

autoScale                                      # default is on
alwaysZero # default is off
gridDefault # default is off
maxHeightPixels # default is 128:128:11
graphType # default is bar
viewLimits # default is range found in data
viewLimitsMax # suggested bounds of viewLimits, but not enforced
yLineMark # default is 0.0
yLineOnOff # default is off
windowingFunction # default is maximum, mean+whiskers is recommended
smoothingWindow # default is off
transformFunc # default is NONE

示例

1. 下面是一个包含 VariableStep 和 FixedStep 格式的 Wig 文件示例:

browser position chr19:49304200-49310700
browser hide all
# 150 base wide bar graph at arbitrarily spaced positions,
# threshold line drawn at y=11.76
# autoScale off viewing range set to [0:25]
# priority = 10 positions this as the first graph
# Note, one-relative coordinate system in use for this format
track type=wiggle_0 name="variableStep" description="variableStep format" visibility=full autoScale=off viewLimits=0.0:25.0 color=50,150,255 yLineMark=11.76 yLineOnOff=on priority=10
variableStep chrom=chr19 span=150
49304701 10.0
49304901 12.5
49305401 15.0
49305601 17.5
49305901 20.0
49306081 17.5
49306301 15.0
49306691 12.5
49307871 10.0
# 200 base wide points graph at every 300 bases, 50 pixel high graph
# autoScale off and viewing range set to [0:1000]
# priority = 20 positions this as the second graph
# Note, one-relative coordinate system in use for this format
track type=wiggle_0 name="fixedStep" description="fixedStep format" visibility=full autoScale=off viewLimits=0:1000 color=0,200,100 maxHeightPixels=100:50:20 graphType=points priority=20
fixedStep chrom=chr19 start=49307401 step=300 span=200
1000900800700600500400300200100

2. 在基因组浏览器中,选择菜单栏 My DataCustom Tracks 选项。

3. 将上述代码粘贴到输入框,点击 Submit 按钮。

4. 简要信息显示后,点击 Go 进行绘制。

5. 最终得到绘制好的轨迹图。


推荐阅读
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • 基于机器学习的人脸识别系统实现
    本文介绍了一种使用机器学习技术构建人脸识别系统的实践案例。通过结合Python编程语言和深度学习框架,详细展示了从数据预处理到模型训练的完整流程,并提供了代码示例。 ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • 本文详细介绍了如何在Android应用中使用GridView组件以网格形式展示数据(如文本和图像)。通过行列布局,实现类似矩阵的数据展示效果。 ... [详细]
author-avatar
鬼鬼太子_157
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有